package com.linkhub.oms.dao.mpservice;

import com.linkhub.oms.common.enums.mp.SuccessfulEnum;
import com.linkhub.oms.entity.ShopEntity;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Collection;
import java.util.List;

/**
 * <p>
 * 商店表 服务类
 * </p>
 *
 * @author echo
 * @since 2024-03-20
 */
public interface IShopService extends IService<ShopEntity> {

    List<ShopEntity> listByUserId(String userId, SuccessfulEnum successfulEnum);

    List<ShopEntity> listByUserId(String userId);

    List<String> listShopIds(String userId);

    List<ShopEntity> listAllAuthorizationShops();

    ShopEntity getUserShop(String userId, String sysShopId);

    ShopEntity getUserShopByShopName( String userId, String shopName );

    boolean checkShopExist( String userId, String shopName, String shopUrl, Collection<String> excludeSysShopIds);

    boolean checkShopExist(String userId, String shopName, String shopUrl);

    boolean checkShopExist(String userId, String shopName, Collection<String> excludeSysShopIds);

    boolean checkShopExist(String shopUrl);

    void updateShopAuthorizationStatus(String token, SuccessfulEnum successfulEnum);

    void updateBySysShopId(String sysShopId, ShopEntity updateEntity);

    List<ShopEntity> listBySysShopIds(List<String> sysShopIds);

    ShopEntity getByShopId(String sysShopId);
}
